草庐IT

Javascript JsTestDriver Jasmine 和 Jasmine-jquery

全部标签

javascript - 修改 jQuery 扩展以在对象内推送数组项但扩展其他对象

我认为这一定是一个常见问题,但似乎找不到解决方案。使用JSON配置文件扩展包含对象和数组的jQuery对象。对于对象和简单的属性,我想覆盖(因为extend做得很好)。对于数组,可能存在也可能不存在。目前数组只是覆盖第一个元素varsourceObj={propterty:"changeMe",anArray:[{name:"first"},{name:"second"}]},configJSON='{"propterty":"NewVal","anArray":[{"name":"third"}]}',configObj=JSON.parse(configJSON);$.extend

javascript - 重用 jQuery.post()/jQuery.Deferred() 对象

我正在寻找的最简单的例子是:varmessageLoader=$.post("api/user/messages",{api:data})messageLoader.done(function(data){//dosomething});这非常有效,但只有一次。如果我想更新数据,我必须重新定义所有内容。我似乎找不到任何让我重新启动它的延迟对象调用。即messageLoader.redo(),理想情况下会重新执行POST请求,然后调用相同的“完成”处理程序,而无需我重新定义它。我可以把它全部放在一个函数中,然后简单地再次调用该函数,但这不是我想要的,因为我还想这样做:varmessage

javascript - 使用 jQuery 选择后如何删除 <select> 选项?

我试图做到这一点,以便一旦选择了下拉选项,它将从菜单中删除,然后一旦选择了另一个选项,先前删除的选项将返回到菜单中。有没有办法使用jQuery来做到这一点?我是jQuery和JavaScript的新手,所以我不太确定自己在做什么,我四处寻找只会进一步破坏代码。谢谢!作为引用,这是我的HTML的样子:NoflightchosenNovember13,2012(5:37pm)-$137.38November19,2012(5:11am)-$121.05November24,2012(7:41pm)-$182.44December8,2012(8:22am)-$140.75等等,有更多的选择

javascript - 在 Javascript (jQuery) 中将数组插入数组

我一直在尝试在循环中获取push()方法来构建如下结构:varlocations2=[['User',position.coords.latitude,position.coords.longitude,1],['BondiBeach',-33.890542,151.274856,2],['CoogeeBeach',-33.923036,151.259052,3],['CronullaBeach',-34.028249,151.157507,4],['ManlyBeach',-33.80010128657071,151.28747820854187,5],['MaroubraBeach

javascript - 单击以使用 jquery 获取数组元素的索引

好的,我已经尽力搜索了,但是。我有一个任务,我需要使用Ajax等加载一些js。长话短说,我卡住了。首先是script.js中的代码(我必须加载它并且我不能修改它):vardivs=['Loremipsum0','Loremipsum1','Loremipsum2','Loremipsum3','Loremipsum4','Loremipsum5','Loremipsum6','Loremipsum7'];delete(divs[3]);然后我的脚本加载它$.getScript('script.js',function(){$('.a').append(''+divs.join('')+

javascript - 如何监视 Jasmine 中的自定义事件?

我定义了一个自定义事件。我想用Jasmine来窥探它。但我遇到的问题是,当我使用spyOn监视该事件时,它失败了。当我监视某些功能时,它工作正常。这是我尝试过的:describe("Test:",function(){it("Expectseventwillbespied:",function(){vareventSpy=spyOn(window,'myEvent').andCallThrough();expect(eventSpy).toHaveBeenCalled();//Alsotriedthis://expect(eventSpy).not.toHaveBeenCalled()

javascript - jquery html() vs empty().append() 性能

我在http://jsperf.com/jquery-html-vs-empty-append-test创建了一个测试用例比较$.html()和$.empty().append()的性能。我想知道.empty().append()更快。​​谁能解释这种性能差距?谢谢。 最佳答案 在你的代码中,$.empty().append()运行得更快,因为你的选择器是错误的,您应该使用var$test=$("#test");而不是var$test=$("test");进行比较。参见DEMOHere.

javascript - 如何在 jQuery.get() 中有一个进度条

是否可以有一个进度条来衡量jQuery.get()的进度? 最佳答案 这在当前版本的jQuery中不是开箱即用的,但仍然可以不费吹灰之力。您应该监听jQuery允许您访问的XMLHttpRequest的progress事件。一个例子fromDaveBond'sblog:$.ajax({type:'POST',//'POST'heresothat_upload_progress_also_makessense;//Changeto'GET'ifyouneed.url:"/",data:{},beforeSend:function(XM

javascript - 使用 each() 进行 jQuery DOM 操作;

我正在尝试使用jQuery使用each()同时对多个元素执行一些简单的DOM操作。我得到了我不明白的结果。这是一个jsFiddle,它显示了我想要发生的事情与实际发生的事情:http://jsfiddle.net/kthornbloom/4T52A/2/这是JS://StepOne:Appendoneblueboxwithineachgreybox$('.grey').append('');//StepTwo:Makeonecopyoftheredboxalreadythere,andplaceitwithinthenewbluebox.$('.grey').each(function

javascript - Jquery 文件上传 - 在 IE9 中不发送标题

我正在使用jQueryFileupload上传文件。它不发送我设置到服务器的header。为什么Authorizationheader仅在IE中丢失,但在chrome中传递?代码如下:upload_photo:function(){varurl='/api/v1/upload';$('#photoupload').fileupload({url:url,dataType:'json',paramName:'uploadFile',beforeSend:function(xhr){setHeader(xhr);$("#check_progress").html('true');},don